home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / HandHeldPCPro30 / sdk.exe / Jupiter SDK / data1.cab / Emulation_Include_Files / tchar.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-19  |  6.3 KB  |  266 lines

  1. /***
  2. *tchar.h - definitions for generic international text functions
  3. *
  4. *       Copyright (c) 1991-1998, Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. *    This file has been completely revamped to support the full set of CRT-like
  8. *   functionality exported by COREDLL in Birch, and *only* those functions
  9. *
  10. ****/
  11.  
  12. #ifndef _INC_TCHAR
  13. #define _INC_TCHAR
  14.  
  15. // We require <windef.h> to pull in defns of __TEXT, TCHAR etc from winnt.h
  16. #include <windef.h>
  17. // This CE version of TCHAR.H is a companion to the CE version of STDLIB.H
  18. #include <stdlib.h>
  19.  
  20. #ifdef    __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. // Basic defn of __TEXT & TEXT already done in winnt.h (reqd by this file)
  25. // Also TCHAR, PTSTR, LPTSTR, LPCTSTR already defined in winnt.h
  26. #define __T(x)      __TEXT(x)
  27. #define _T(x)       __TEXT(x)
  28. typedef LPCTSTR        PCTSTR;
  29.  
  30. #ifdef  UNICODE
  31. /* ++++++++++++++++++++ UNICODE ++++++++++++++++++++ */
  32.  
  33. #define _TEOF       WEOF
  34.  
  35. #define _tmain      wmain
  36.  
  37. #ifdef UNDER_CE
  38. #    define _tWinMain   WinMain // On CE it's always WinMain
  39. #else
  40. #    define _tWinMain   wWinMain
  41. #endif
  42.  
  43. /* Formatted i/o */
  44. #define _tprintf    wprintf
  45. #define _ftprintf   fwprintf
  46. #define _stprintf   swprintf
  47. #define _sntprintf  _snwprintf
  48. #define _vtprintf   vwprintf
  49. #define _vftprintf  vfwprintf
  50. #define _vstprintf  vswprintf
  51. #define _vsntprintf _vsnwprintf
  52. #define _tscanf     wscanf
  53. #define _ftscanf    fwscanf
  54. #define _stscanf    swscanf
  55.  
  56. /* Unformatted i/o */
  57. #define _fgettc     fgetwc
  58. #define _fgetts     fgetws
  59. #define _fputtc     fputwc
  60. #define _fputts     fputws
  61. #define _gettc      getwc
  62. #define _gettchar   getwchar
  63. #define _getts      _getws
  64. #define _puttc      putwc
  65. #define _puttchar   putwchar
  66. #define _putts      _putws
  67. #define _ungettc    ungetwc
  68.  
  69. // Stdio functions
  70. #define _tfopen     _wfopen
  71.  
  72. /* String conversion functions */
  73. #define _tcstod     wcstod
  74. #define _tcstol     wcstol
  75. #define _tcstoul    wcstoul
  76.  
  77. #define _itot       _itow
  78. #define _ltot       _ltow
  79. #define _ultot      _ultow
  80. #define _ttoi       _wtoi
  81. #define _ttol       _wtol
  82. #define _ttoi64     _wtoi64
  83.  
  84. /* String functions */
  85. #define _tcscat     wcscat
  86. #define _tcschr     wcschr
  87. #define _tcscmp     wcscmp
  88. #define _tcscpy     wcscpy
  89. #define _tcscspn    wcscspn
  90. #define _tcslen     wcslen
  91. #define _tcsclen    wcslen
  92.  
  93. #define _tcsncat    wcsncat
  94. #define _tcsnccat   wcsncat
  95. #define _tcsnccmp   wcsncmp
  96. #define _tcsncmp    wcsncmp
  97. #define _tcsncpy    wcsncpy
  98. #define _tcsnccpy   wcsncpy
  99. #define _tcspbrk    wcspbrk
  100. #define _tcsrchr    wcsrchr
  101. #define _tcsspn     wcsspn
  102. #define _tcsstr     wcsstr
  103. #define _tcstok     wcstok
  104. #define _tcsdup     _wcsdup
  105. #define _tcsicmp    _wcsicmp
  106. #define _tcsncicmp  _wcsnicmp
  107. #define _tcsnicmp   _wcsnicmp
  108. #define _tcsnset    _wcsnset
  109. #define _tcsncset   _wcsnset
  110. #define _tcsrev     _wcsrev
  111. #define _tcsset     _wcsset
  112.  
  113. #define _tcslwr     _wcslwr
  114. #define _tcsupr     _wcsupr
  115.  
  116. // ctype functions
  117. #define _istalpha   iswalpha
  118. #define _istupper   iswupper
  119. #define _istlower   iswlower
  120. #define _istdigit   iswdigit
  121. #define _istxdigit  iswxdigit
  122. #define _istspace   iswspace
  123. #define _istpunct   iswpunct
  124. #define _istalnum   iswalnum
  125. #define _istprint   iswprint
  126. #define _istgraph   iswgraph
  127. #define _istcntrl   iswcntrl
  128. #define _istascii   iswascii
  129.  
  130. #define _totupper   towupper
  131. #define _totlower   towlower
  132.  
  133. #define _istlegal(_c)       (1)
  134. #define _istlead(_c)        (0)
  135. #define _istleadbyte(_c)    (0)
  136.  
  137. #else   /* ndef UNICODE */
  138.  
  139. /* ++++++++++++++++++++ SBCS (MBCS in Not supported) ++++++++++++++++++++ */
  140.  
  141. #define _TEOF       EOF
  142.  
  143. /* Program */
  144. #define _tmain      main
  145. #define _tWinMain   WinMain
  146.  
  147.  
  148. /* Formatted i/o */
  149. #define _tprintf    printf
  150. #define _ftprintf   fprintf
  151. #define _stprintf   sprintf
  152. #define _sntprintf  _snprintf
  153. #define _vtprintf   vprintf
  154. #define _vftprintf  vfprintf
  155. #define _vstprintf  vsprintf
  156. #define _vsntprintf _vsnprintf
  157. #define _tscanf     scanf
  158. #define _ftscanf    fscanf
  159. #define _stscanf    sscanf
  160.  
  161. /* Unformatted i/o */
  162. #define _fgettc     fgetc
  163. #define _fgetts     fgets
  164. #define _fputtc     fputc
  165. #define _fputts     fputs
  166. #define _gettc      getc
  167. #define _gettchar   getchar
  168. #define _getts      gets
  169. #define _puttc      putc
  170. #define _puttchar   putchar
  171. #define _putts      puts
  172. #define _ungettc    ungetc
  173.  
  174. // Stdio functions
  175. #define _tfopen     _wfopen
  176.  
  177. // String conversion functions
  178. #ifndef UNDER_CE
  179. // NYI in SBCS for CE
  180. #define _tcstod     strtod
  181. #define _tcstol     strtol
  182. #define _tcstoul    strtoul
  183. #endif
  184.  
  185. #define _itot       _itoa
  186. #define _ltot       _ltoa
  187. #define _ultot      _ultoa
  188. #define _ttoi       atoi
  189. #define _ttol       atol
  190.  
  191. #ifndef UNDER_CE
  192. #define _ttoi64   atoi64 //NYI in CE in SBCS
  193. #endif
  194.  
  195. /* String functions */
  196. #define _tcscat     strcat
  197. #define _tcschr     strchr
  198. #define _tcscmp     strcmp
  199. #define _tcscpy     strcpy
  200. #define _tcscspn    strcspn
  201. #define _tcslen     strlen
  202. #define _tcsclen    strlen
  203.  
  204. #define _tcsncat    strncat
  205. #define _tcsnccat   strncat
  206. #define _tcsnccmp   strncmp
  207. #define _tcsncmp    strncmp
  208. #define _tcsncpy    strncpy
  209. #define _tcsnccpy   strncpy
  210.  
  211. #ifndef UNDER_CE
  212. // NYI in CE in SBCS
  213. #define _tcspbrk    strpbrk
  214. #define _tcsrchr    strrchr
  215. #define _tcsspn     strspn
  216. #endif
  217.  
  218. #define _tcsstr     strstr
  219. #define _tcstok     strtok
  220.  
  221. #ifndef UNDER_CE
  222. // NYI in CE in SBCS
  223. #define _tcsdup     _strdup
  224. #define _tcsicmp    _stricmp
  225. #define _tcsncicmp  _strnicmp
  226. #define _tcsnicmp   _strnicmp
  227. #define _tcsnset    _strnset
  228. #define _tcsncset   _strnset
  229. #define _tcsrev     _strrev
  230. #define _tcsset     _strset
  231. #define _tcslwr     _strlwr
  232. #define _tcsupr     _strupr
  233. #endif
  234.  
  235. // ctype functions
  236. #ifndef UNDER_CE
  237. // NYI in CE in SBCS
  238. #define _istalpha   isalpha
  239. #define _istupper   isupper
  240. #define _istlower   islower
  241. #define _istdigit   isdigit
  242. #define _istxdigit  isxdigit
  243. #define _istspace   isspace
  244. #define _istpunct   ispunct
  245. #define _istalnum   isalnum
  246. #define _istprint   isprint
  247. #define _istgraph   isgraph
  248. #define _istcntrl   iscntrl
  249. #define _istascii   isascii
  250. #define _totupper   toupper
  251. #define _totlower   tolower
  252. #endif
  253.  
  254. #define _istlegal(_c)       (1)
  255. #define _istlead(_c)        (0)
  256. #define _istleadbyte(_c)    (0)
  257.  
  258. #endif  /* UNICODE */
  259.  
  260. #ifdef __cplusplus
  261. }
  262. #endif
  263.  
  264. #endif  /* _INC_TCHAR */
  265.  
  266.